/**
  *尽量以const，enum，inline替换#define
  */
//define enum 不可以&不会造成非必要的内存分配,const可以。

#include <iostream>
#include <string>

using namespace std;

void test()
{
    //string比char*-based合宜
    const char* const cs = "Hello World";
    const string s = "Hello World";
    cout << cs << endl;
}

class GamePlayer
{
public:
    GamePlayer();
private:
    //static const int NumTurns = 5;
    enum {NumTurns = 5,};
    int scores[NumTurns];
};
//const int GamePlayer::NumTurns;

class Test
{
public:
private:
    static int Num;
};
int Test::Num = 5;

#define CALL_WITH_MAX(a, b) f((a) > (b) ? (a) : (b))
template <typename T>
inline void callWithMax(const T &a, const T &b)
{
    f(a >b ? a : b);
}


int main(int argc, char *argv[])
{
    return 0;
}
